Раньше для того, чтоб получить исходный код в компоненте Chromium хватало выполнить подобный код:
| 
					 1 2 3 4  | 
						var Txt:String; begin Txt:=Chrom.Browser.MainFrame.Source; end;  | 
					
Однако, с некоторых пор свойство Source перестало работать таким способом.
Теперь, чтоб получить исходный код, необходимо выполнить такой код:
| 
					 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25  | 
						public     { Public declarations }     HTML:ustring; ... procedure ShowSource(const SRC: ustring); begin   Form1.HTML:=SRC; end; procedure TForm1.ChromLoadEnd(Sender: TObject; const browser: ICefBrowser;   const frame: ICefFrame; httpStatusCode: Integer); begin   // это событие срабатывает, когда документ загружен   if (browser <> nil) and (browser.Identifier = Chrom.BrowserId) and     ((frame = nil) or (frame.IsMain))   then     Chrom.Browser.MainFrame.GetSourceProc(ShowSource); end; procedure TForm1.Button1Click(Sender: TObject); begin     Memo1.Lines.Add(HTML); end;  | 
					
Нужно признать, что код усложнился. Не для чего разработчики внесли такие изменения… Но, факт – на лицо.

На Lazarus вот так:
procedure ShowSource(const SRC: ustring);
begin
Form1.HTML:=SRC;
end;
procedure TForm1.ChromLoadEnd(Sender: TObject; const browser: ICefBrowser;
const frame: ICefFrame; httpStatusCode: Integer);
begin
// это событие срабатывает, когда документ загружен
if (browser nil) and (browser.Identifier = Chrom.BrowserId) and
((frame = nil) or (frame.IsMain))
then
Chrom.Browser.MainFrame.GetSourceProc(@ShowSource); //Уточнение параметра
end;