diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 1b93e92..4fe1450 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -12,15 +12,18 @@
 SET(GOB_GENERATED ${CMAKE_HOME_DIRECTORY}/src/ibus-chewing-engine.c
     ${CMAKE_HOME_DIRECTORY}/src/ibus-chewing-engine.h
     ${CMAKE_HOME_DIRECTORY}/src/ibus-chewing-engine-private.h
-    ${CMAKE_HOME_DIRECTORY}/src/maker-dialog.c
-    ${CMAKE_HOME_DIRECTORY}/src/maker-dialog.h
-    ${CMAKE_HOME_DIRECTORY}/src/maker-dialog-private.h
+    # Chromium change: Remove maker-dialog
+    #${CMAKE_HOME_DIRECTORY}/src/maker-dialog.c
+    #${CMAKE_HOME_DIRECTORY}/src/maker-dialog.h
+    #${CMAKE_HOME_DIRECTORY}/src/maker-dialog-private.h
     )
 
 ADD_CUSTOM_COMMAND(OUTPUT ${GOB_GENERATED}
     COMMAND ${GOB2} ${CMAKE_CURRENT_SOURCE_DIR}/IBusChewingEngine.gob -o ${CMAKE_CURRENT_SOURCE_DIR}
-    COMMAND ${GOB2} ${CMAKE_CURRENT_SOURCE_DIR}/MakerDialog.gob -o ${CMAKE_CURRENT_SOURCE_DIR}
-    DEPENDS IBusChewingEngine.gob MakerDialog.gob IBusChewingEngine-def.c
+    # Chromium change: Remove maker-dialog
+    #COMMAND ${GOB2} ${CMAKE_CURRENT_SOURCE_DIR}/MakerDialog.gob -o ${CMAKE_CURRENT_SOURCE_DIR}
+    #DEPENDS IBusChewingEngine.gob MakerDialog.gob IBusChewingEngine-def.c
+    DEPENDS IBusChewingEngine.gob IBusChewingEngine-def.c
     WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
 )
 
@@ -36,7 +39,8 @@
 # executable built from some source
 ADD_EXECUTABLE(ibus-engine-chewing main.c
     ibus-chewing-engine.c
-    maker-dialog.c
+    # Chromium change: Remove maker-dialog
+    #maker-dialog.c
     )
 #ADD_EXECUTABLE(generate-gconf-schemas
 #    generate-gconf-schemas.c
@@ -44,8 +48,11 @@
 #    )
 
 # Link the executable to the library.
-TARGET_LINK_LIBRARIES(ibus-engine-chewing ${GTK2_LIBRARIES} ${IBUS_LIBRARIES}
-    ${CHEWING_LIBRARIES} ${GCONF2_LIBRARIES} ${XTST_LIBRARIES})
+# Chromium change: Do not link GConf or GTK
+#TARGET_LINK_LIBRARIES(ibus-engine-chewing ${GTK2_LIBRARIES} ${IBUS_LIBRARIES}
+#    ${CHEWING_LIBRARIES} ${GCONF2_LIBRARIES} ${XTST_LIBRARIES})
+TARGET_LINK_LIBRARIES(ibus-engine-chewing ${IBUS_LIBRARIES}
+    ${CHEWING_LIBRARIES} ${XTST_LIBRARIES})
 
 #TARGET_LINK_LIBRARIES(generate-gconf-schemas ${GTK2_LIBRARIES})
 
diff --git a/src/IBusChewingEngine.gob b/src/IBusChewingEngine.gob
index 35c2c78..ec34b05 100644
--- a/src/IBusChewingEngine.gob
+++ b/src/IBusChewingEngine.gob
@@ -112,7 +112,49 @@
 } Engine:Status;
 
 %h{
-#include "maker-dialog.h"
+// Chromium change: Remove reference to maker-dialog, and stub in the required
+//   structures and enums here.
+//#include "maker-dialog.h"
+
+enum {
+    MAKER_DIALOG_PROPERTY_FLAG_INVISIBLE   =0x1,
+    MAKER_DIALOG_PROPERTY_FLAG_INSENSITIVE =0x2,
+    MAKER_DIALOG_PROPERTY_FLAG_INEDITABLE =0x4,
+    MAKER_DIALOG_PROPERTY_FLAG_HAS_TRANSLATION =0x8,
+    MAKER_DIALOG_PROPERTY_FLAG_TRANSLATION_WITH_CONTEXT =0x10,
+};
+typedef guint MakerDialogPropertyFlags;
+typedef struct _PropertyContext PropertyContext;
+typedef GValue *(* CallbackGetFunc)(PropertyContext *ctx);
+typedef void(* CallbackSetFunc)(PropertyContext *ctx, GValue *value);
+typedef struct{
+    GType valueType;
+    gchar key[30];
+    gchar pageName[50];
+    gchar label[200];
+    gchar defaultValue[100];
+    const gchar **validValues;
+    gchar *translationContext;
+
+    gint min;
+    gint max;
+
+    CallbackGetFunc getFunc;
+    CallbackSetFunc setFunc;
+
+    MakerDialogPropertyFlags propertyFlags;
+    gint width;
+    gint height;
+    const gchar *tooltip;
+    gpointer userData;
+} PropertySpec;
+struct _PropertyContext{
+    PropertySpec *spec;
+    gpointer userData;  //<! User data to be used in callback.
+
+};
+// END Chromium change
+
 #define GCONF_KEY_PREFIX "/desktop/ibus/engine/Chewing/"
 /* For easy symbol input work around */
 #define EASY_SYMBOL_INPUT_WORK_AROUND
diff --git a/src/main.c b/src/main.c
index bd0a9bc..f30e5f2 100644
--- a/src/main.c
+++ b/src/main.c
@@ -26,9 +26,10 @@
 #include <chewing.h>
 #include <glib/gi18n.h>
 #include "ibus-chewing-engine.h"
-#include "maker-dialog.h"
+// Chromium change: Remove maker-dialog
+//#include "maker-dialog.h"
 
-MakerDialog *makerDialog=NULL;
+//MakerDialog *makerDialog=NULL;
 static IBusBus *bus = NULL;
 static IBusFactory *factory = NULL;
 
@@ -135,7 +136,8 @@
 {
     GError *error = NULL;
     GOptionContext *context;
-    gtk_init(&argc,&argv);
+    // Chromium change: Remove gtk dependency.
+    //gtk_init(&argc,&argv);
 
     /* Init i18n messages */
     setlocale (LC_ALL, "zh_TW.utf8");
